﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Crosland.Automotriz.Logic.Linq;
using Crosland.Automotriz.Entidad;
using System.Configuration;

namespace Crosland.Automotriz.Web.CRM
{
    public partial class wFrmClienteRelacion : System.Web.UI.Page
    {
        string idGestionComercial = ConfigurationManager.AppSettings["GestionComercial"];

        clsTD_ClienteBL blCliente = new clsTD_ClienteBL();

        protected void Page_Load(object sender, EventArgs e)
        {
            if (Page.IsPostBack == false) 
            {
                MostrarNombreComercialCliente();
                ListarRazonesSociales();
            }
        }

        void MostrarNombreComercialCliente()
        {
            int Id_Cliente = int.Parse(Request.QueryString["idCliente"]);
            txtNombreComercial.Text = blCliente.Listar(Id_Cliente).NOM_COMERCIAL.Trim().ToUpper();
        }

        void ListarRazonesSociales() 
        {
            int Id_Cliente = int.Parse(Request.QueryString["idCliente"]);
            gvRazonesSociales.DataSource = blCliente.ListarRazonesSocialesHijas(Id_Cliente);
            gvRazonesSociales.DataBind();
        }

        protected void btnAgregar_Click(object sender, EventArgs e)
        {
            pcClientes.ShowOnPageLoad = true;
        }

        protected void btnBuscar_Click(object sender, EventArgs e)
        {
            Buscar();
        }

        void Buscar() 
        {
            string DES_CLIENTE = txtBuscarNombre.Text.Trim();
            string NIF = txtBuscarRUC.Text.Trim();
            int Id_Cliente = int.Parse(Request.QueryString["idCliente"]);
            int filas = int.Parse(cboOpcion.SelectedItem.Value.ToString());

            gvBusqueda.DataSource = blCliente.ListarRazonesSocialesNoAgrupadas(Id_Cliente, DES_CLIENTE, NIF, filas);
            gvBusqueda.DataBind();
        }

        protected void gvBusqueda_PageIndexChanged(object sender, EventArgs e)
        {
            Buscar();
        }

        protected void btnAgregarRazonesSociales_Click(object sender, EventArgs e)
        {
            int Id_Cliente = int.Parse(Request.QueryString["idCliente"]);
            int ID_CLIENTE;
            for (int i = 0; i < gvBusqueda.VisibleRowCount; i++)
            {
                if (gvBusqueda.Selection.IsRowSelected(i))
                {
                    ID_CLIENTE = int.Parse(gvBusqueda.GetRowValues(i, "ID_CLIENTE").ToString());
                    TD_CLIENTE eCliente = new TD_CLIENTE();
                    eCliente.ID_CLIENTE = ID_CLIENTE;
                    eCliente.ID_CLIENTE_SUP = Id_Cliente;
                    blCliente.ActualizarRelacion(eCliente);
                }
            }

            ListarRazonesSociales();
            pcClientes.ShowOnPageLoad = false;
        }

        protected void btnQuitar_Click(object sender, EventArgs e)
        {
            try
            {
                int fila = gvRazonesSociales.FocusedRowIndex;
                int ID_CLIENTE;
                ID_CLIENTE = int.Parse(gvRazonesSociales.GetRowValues(fila, "ID_CLIENTE").ToString());

                TD_CLIENTE eCliente = new TD_CLIENTE();
                eCliente.ID_CLIENTE = ID_CLIENTE;
                eCliente.ID_CLIENTE_SUP = 0;
                blCliente.ActualizarRelacion(eCliente);

                ListarRazonesSociales();

            }
            catch (Exception)
            {
            }
        }

        protected void btnSalir_Click(object sender, EventArgs e)
        {
            Response.Redirect("wFrmCliente.aspx?id=" + idGestionComercial);
        }


    }
}